package com.matt.repository.base;

import com.matt.domain.Children;
import com.matt.domain.ChildrenExtendInfo;
import com.matt.foundation.DO.ChildClassesDO;
import com.matt.foundation.DO.ChildrenListDO;
import com.matt.foundation.DO.ChildrenNurseryListDO;
import com.matt.foundation.DO.ClassChildrenDO;
import com.matt.foundation.query.ChildrenNurseryQuery;
import com.matt.foundation.query.ChildrenQuery;

import java.util.List;

/**
 * *******************************
 * Created by Ron.
 * form com.matt
 * on 2017/9/25
 * *******************************
 */
public interface ChildChildrenExtendRepository {

    List<ChildrenListDO> findChildrenByNurseryStatus(Integer nurseryStatus, String areaId);

    List<ChildrenListDO> findChildrenByEarlyStatusActive(String areaId);

    List<ChildrenNurseryListDO> findChildByNurseryStatus(ChildrenNurseryQuery query);

    Long countChildByNurseryStatus(ChildrenNurseryQuery query);

    List<Object[]> countChildByCheckStatus(String areaId);
    List<Object[]> countChildByHealthyStatus(String areaId);

//    List<ChildClassesDO> findChildrenClassesByStatus(String areaId);
    List<ClassChildrenDO> findChildrenClassesByStatus(String areaId, List<String> classIds);

    List<ChildClassesDO> findChildrenClassesByStatus(String areaId, Integer category);

    List<ChildClassesDO> findChildrenStatusActive(String areaId);

    List<Object[]> findChildrenBySatActive(Integer contractStatus, String areaId);

    List<Object[]> findChildrenByCBNonBind(String areaId, String name);

    List<Children> findChildrenByCondition(ChildrenQuery childrenQuery);

    Long countChildrenByCondition(ChildrenQuery childrenQuery);

    ChildrenExtendInfo findCameraTime(String crmClienteleId);
}
